Graphical modeling environments, such as the technical computing and block diagram modeling environment of MATLAB® and Simulink® from the MathWorks, Inc. of Natick, Mass., can provide a “model-based design” approach to designing an implementation, such as for embedded computational hardware. The term “model-based design” is used to refer to a graphical model acting as a design or a specification for implementation. A model-based design may be used as a design specification for an implementation, such as an implementation of an algorithm in hardware circuitry, the implementation of code to run on a microprocessor, or software to run in a network environment.
A graphical modeling environment can produce model-based designs in graphical form, such as a block diagram model, to specify computations, operations, or functionality that can be performed on computational hardware such as a general purpose processor, microcontroller, DSP, FPGA, PLD, or an ASIC. As a design specification, a model-based design can drive the building process of an implementation of the design. For instance, the model-based design can act as a specification from which to automatically generate code from a block diagram model to provide an executable for testing and verification on a target system.
Model-based designs represented by graphical models can be tested using simulation. The simulation may be provided by the modeling environment. For example, Simulink® from The MathWorks, Inc. of Natick, Mass., provides an environment for simulating graphical models to test the model-based design. Simulation may be used by a model designer to identify design issues during the design stage at the system level. Although simulation may be used to functionally verify some behavior of the design, simulation may not be exhaustive or deterministic such that it covers all desired or unwanted-circumstances and occurrences of design behavior.
Verification tools can be used to provide a more formal and comprehensive approach to testing and verifying a model-based design. Verification tools are available that apply various formal methods and techniques for providing comprehensive coverage and verifying the behavior of a model-based design under test. The verification tool may run a multitude of combinations of scenarios with a significant portion or all of the possible input values. Running comprehensive or multiple verification scenarios in a verification tool may be time consuming and resource intensive. The techniques and methods used by the verification tool may exercise behavior or functionality that is not of concern to the model-based designer or that is not practical or realistic in the intended application of the implementation of the model-based design. Therefore, it may be time consuming, resource intensive or inconvenient to obtain or review the results of the portion of the verification that is of interest to the designer or realistic for the design.
Typically, the configuration of the verification may be performed in the verification tool to run certain tests or verification scenarios desired for the design. The verification tool may be configured to limit the verification scenarios or to cover only a certain combination of occurrences. Setting up and generating verification scenarios in a verification tool may consume significant time and resources. The verification tool may have its own configuration environment and language different than the graphical modeling environment. As such, any verification scenario configuration and verification results may be described in terms of the form, language, and context of the verification tool. Thus, it may be challenging to relate the verification scenario configuration and verification results to the model-based design represented by the graphical model.